package answer;

import java.util.Scanner;

/**
 * 定义名为 VolumeArea 的抽象类，在其中定义圆周率的值为 3.14159，并定义两个抽象方法 volume(double r)和
 * area(double r)，它们的返回值类型均为 float。再定义以类VolumeArea 为父类的子类
 * VolumeAndArea，在该子类中实现父类中的抽象方法：方法volume(double r) 的功能是求半径为 r 的球的体积（公式为：4*pi*r
 * 3 /3）；方法 area(double r)的功能是求半径为r的圆的面积（公式为：pi*r2）。请编写一个Application ，在其主类中定义一个
 * VolumeAndArea 类的对象 x，通过对象 x 求半径为 r(r 的值由命令行给定)的球的体积及该球最大切面的圆的面积，并输出计算结果。
 *
 */

public class Answer22 {
	public static void main(String[] args) {
		VolumeAndArea volumeAndArea = new VolumeAndArea();
		Scanner can = new Scanner(System.in);
		double r = can.nextDouble();
		System.out.println("面积：" + volumeAndArea.area(r));
		System.out.println("体积：" + volumeAndArea.volume(r));
	}
}

abstract class VolumeArea {// 抽象类
	double pi = 3.14159;

	public abstract float volume(double r);

	public abstract float area(double r);
}

class VolumeAndArea extends VolumeArea {

	@Override
	public float volume(double r) {
		// TODO 自动生成的方法存根
		return (float) (4 * pi * r * r * r / 3);
	}

	@Override
	public float area(double r) {
		// TODO 自动生成的方法存根
		return (float) (pi * r * r);
	}

}
